django 模版渲染
[toc]
4.模版渲染
4.1 settings文件配置
settings配置文件中的TEMPLATES项是对静态页面的设置,DIRS处需要写上对应的静态文件存放的位置,默认为templates
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')] #别忘了配置这个路径
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
4.2 模版语法
在html文件标签中写
{{ 变量 }} {% 逻辑 %}
4.3 万能的点 .
html文件
以下代码中dic.name就是.
的运用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{ num }}</h1>
<h1>{{ str }}</h1>
<h1>{{ lst }}</h1>
<h1>{{ dic.name }}</h1>
{# #注意,调用方法时,不能加括号,所有如果方法带参数,就没法用了#}
<h1>{{ woman.play }}</h1>
<h1>{{ woman.xx }}</h1>
</body>
</html>
views文件
from django.shortcuts import render,HttpResponse,redirect
from django.views import View #CBV进程的类
# Create your views here.
def home(request):
# return HttpResponse('登陆成功')
# return render(request,'index.html')
num = 10
str = 'I am a running 的草泥马'
lst = [1,2,3,4,5,6]
dic = {'name':'小明','age':20}
class A:
money = 100
def __init__(self):
self.xx = 'oo'
def play(self):
return '什么价位?'
woman = A()
return render(request,'模版渲染.html',{'num':num,'str':str,'lst':lst,'dic':dic,'woman':woman})
运行后的初次效果
4.4 过滤器
4.4.1 过滤器用法
有参数的过滤器用法
{{ 变量|过滤器名称:'参数' }}
没参数的过滤器用法
{{ 变量|过滤器名称 }}
4.4.2 内置过滤器
views文件
from django.shortcuts import render,HttpResponse,redirect
from django.views import View #CBV进程的类
# Create your views here.
def home(request):
# return HttpResponse('登陆成功')
# return render(request,'index.html')
num = 10
str = 'I am a running 的草泥马'
lst = [1,2,3,4,5,6]
dic = {'name':'小明','age':20}
class A:
money = 100
def __init__(self):
self.xx = 'oo'
def play(self):
return '什么价位?'
woman = A()
return render(request,'模版渲染.html',{'num':num,'str':str,'lst':lst,'dic':dic,'woman':woman})
4.4.2.1 truncatechars 截断字符串
truncatechars:数字 数字表示要截断的字符数
未截断前
截断后
truncatechars:5表示截取5个字符,其中包括3个.
<h1>{{ str | truncatechars:5 }}</h1>
4.4.2.2 default 如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值
在views文件中只有num变量,没有num1变量,因此使用default指定的值
<h1>{{ num1 | default:'没有num1这个变量' }}</h1>
4.4.2.3 length 获取变量数据长度
<h1>{{ lst | length }}</h1>
4.4.2.4 filesizeformat 大小按照人类可读方式显示
views文件中定义file_size = 1024,注意还需要在render方法中以字典的形式定义返回
<h1>{{ file_size | filesizeformat }}</h1>
4.4.2.5 slice 切片(顾头不顾腚)
<h1>{{ str | slice:'2:9' }}</h1>
使用切片截取